home *** CD-ROM | disk | FTP | other *** search
- Stand: 11.06.02
-
- ==============================================================================
- Sound-Unterstⁿtzung
- ==============================================================================
-
- Der Server schickt dem Client eine Liste von primΣren und sekundΣren Tags fⁿr
- bestimmte Ereignise. Die "primΣren" werden vom aktuellen Modpack bevorzugt;
- die zugeh÷rigen Sounds brauchen im Client nicht notwendigerweise vorhanden zu
- sein. Die "sekundΣren" Tags sollten sich auf auf Standardsounds beziehen, die
- in jeder Installation von Freeciv gleich sein sollten.
-
- Tags werden benutzt, um das Wechseln der Sounds zu erleichtern. Dabei wird ein
- sog. specfile benutzt, in dem festgelegt wird, welcher Sound zu welchem Tag
- geh÷rt. ─ndert man das specfile, z.B. als Parameter beim Start des Clients, so
- Σndern sich auch die Sounds. Der Aufruf
-
- civclient --Sound mysounds.spec
-
- fⁿhrt dazu, das der Client die Sounddateien aus der datei "mysounds.spec"
- liest. Die Sounds mⁿssen dazu in das in der Datei zuerst genannte Verzeichnis
- kopiert werden, oder die specdatei muss angepasst werden. Alle Pfade sind
- dabei relativ zum Verzeichnis data/. Soundpakete k÷nnen von der
- Freeciv-Webseite im tar-Format heruntergeladen werden. Diese mⁿssen dann
- entweder mit z.B. "tar -xzvf stdsoundsX.tar.gz" (Unix) oder mit WinZip
- (Windows) in das Verzeichnis data/ entpackt werden.
-
- In CVS-Versionen sind weder Sounds noch ein specfile enthalten. Soundsets
- (Sounds und ein specfile) k÷nnen von
-
- <ftp://ftp.freeciv.org/freeciv/contrib/sounds/>
-
- herunter geladen werden. Hier gibt es auch weitere Soundateien, um
- existierende Soundsets zu verΣndern oder neue zu erstellen.
-
- ================================
- Plugins
- ================================
-
- Die Sound-Ausgabe wird vom Client mit Plugins erledigt. Welche Plugins
- vorhandene sind, hΣngt davon ab, welche Libraries auf dem Rechner installiert
- sind. Das Plugin, das der Client zur Soundausgabe benutzen soll, kann via
- Kommandozeile gewΣhlt werden:
-
- civclient --Plugin sdl
-
- Mit "none" wird die Soundausgabe abgeschaltet. Freeciv unterstⁿtzt zur Zeit
- die folgenden Plugins:
- - keine Ausgabe (--Plugin none)
- - Esound (--Plugin esd)
- - SDL mit der SDL_mixer-Library (--Plugin sdl)
-
- Um Unterstⁿtzung fⁿr ein neues Plugin zu Freeciv hinzuzufⁿgen, mⁿssen
- folgende Dateien verΣndert werden ("plugin" bezeichnet dabei den Namen des
- des neuen Plugins):
-
- confgiure.in /* Hinzufⁿgen eines neuen Tests */
- acconfig.h /* Hinzufⁿgen einer neuen config metavariablen */
- client/audio.c /* das neue Plugin einfⁿgen */
- client/Makefile.am /* die folgenden Dateien einfⁿgen */
- client/audio_plugin.c /* das neue Plugin */
- client/audio_plugin.h /* die Headerdatei des neuen Plugins */
-
- ================================
- Tags
- ================================
-
- Es gibt zwei Arten von Soundtags:
- - Tags, die im ruleset definiert sind
- - Tags, die im Programm definiert sind
-
-
- WΣhrend die ersten frei gewΣhlt werden k÷nnen, k÷nnen die letzteren nicht
- verΣndert werden.
-
- Die Soundtags, die zu Erweiterungen (Weltwundern und normale GebΣuden),
- Bewegungen von Einheiten und KΣmpfen zwischen Einheiten geh÷ren, mⁿssen im
- Ruleset festgelegt werden. Freeciv gibt diese Tags weiter an den Client, der
- sie mit Hilfe der soundspec Datei in Dateinamen ⁿbersetzt. Jede
- soundspec-datei sollte allgemeine Soundtags fⁿr Weltwunder ("w_generic"),
- normale GebΣude ("b_generic"), Bewegung von Einheiten ("m_generic") und KΣmpfe
- zwischen Einheiten ("f_generic") definieren.
-
- Zu bestimmten Ereignissen gibt es Soundtags, die im Code von Freeciv verankert
- sind und nicht von au▀en konfiguriert werden k÷nnen. In der soundspec Datei
- mⁿssen belegungen fⁿr diese Tags vorhanden sein. Eine komplette Liste dieser
- Tags findet sich in data/stdsounds.spec. Der Name des Tags ist der Name des
- enums (siehe common/events.h) in Kleinbuchstaben. Z.B. wird aus E_POLLUTION
- das Tag "e_pollution". Es gibt kein allgemeines Tag und es wird kein
- alternatives tag benutzt.
-
- Im Spiel gibt es im Moment nur eine Hintergrundmelodie: das Intro. Das Intro
- lΣuft bis das Spiel beginnt. Das Tag fⁿr diese Musik ist "music_start".
-
- ================================
- TODO
- ================================
-
- Es gibt ein paar Dinge, die noch getun werden mⁿssen, um die
- Soundunterstⁿtzung in Freeciv noch zu verbessen:
- * Hinzufⁿgen von weitere Plugins (gstreamer, arts, windows, usw.)
- * Hinzufⁿgen von tags fⁿr jedes Forschungsergebnis, wie fⁿr
- GebΣude/Einheiten
- * Unterstⁿtzung von Sounddateien im .ogg-Format
- * mehr Ereignistags
- * neue/bessere Sound-Samples und bessere spec-Datei
-
- ================================
- Sonstiges
- ================================
-
- Ersteller von Sounds: Die Dateien sollten bitte klar benamst sein. Au▀erdem
- sollte eine README vorhanden sein, in der die verwendete Lizenz fⁿr die
- Sounds aufgefⁿhrt wird (falls Publich Domain, bitte erwΣhnen)
-
- Ersteller von Modpacks: Die sekundΣren Tags sollten sich auf Standardtags
- beziehen, soda▀ die, die nicht das neueste und beste Soundpacket haben, das
- Spiel immer noch genie▀en k÷nnen.
-